import request from '@/utils/request'

// 登录函数
/**
 * @description: 登录接口
 * @param {*} data.mobile 手机号
 * @param {*} data.password 密码
 * @return {*} promise
 */
// 1.检查基地址
// 2.确认env的地址
// 3.在开发中进行启动
// 4.进行配置校验规则(必填 正则校验)
// 5.点击事件执行方法
// 6.表单的兜底校验 调用接口
// 7.提示用户成功   跳转登录页
// 8.校验密码 接口拦截
// 判断message true则跳转否则提示错误
// 9.request.js响应拦截器对接口进行统一处理
// 使用try catch进行登录包裹
// 10.处理统一错误Message.error(error.message)
// 11.登录加载状态(指令放上,属性放中,方法放下)
// 12.将token放入vuex(store-modules-user.js)
// 需在登录中存入token
// 13.在vuex中调用登录接口 需引入login
// 在login中使用vuex的actions调用接口
// 则12可不用写了
// 14.数据持久化(使用cookie)
// auth.js引入cookie
// user.js引入auth.js
// 各个对象存入get.set.remove-token即可
// 15.请求头注入token(二步走)
// (1)请求拦截器 获取token （需引store）
// (2)判断是否有token 有就把token放入请求头中
// 16.代理服务器(图:前端页面与后端服务器搭桥梁)
// 17.登录权限控制(图)(路由前置守卫完成)
// (1)引入router和store
// (2)根据逻辑图写权限功能
// (3)main.js的路由下引入权限模块
// 18.小功能进度条
// 导包 NProgress.start()开启 前置守卫
// NProgress.done()关闭  后置守卫
// 19.获取用户信息
// 20.获取用户头像
// 21.getters优化
// 22.实现退出登录功能
// 清除本地 token
// 清除 vuex用户信息数据
// 跳转页面
// 23.token失效处理
// 清除 vuex用户信息数据
// 跳转到登录页
export function login(data) {
  return request({
    url: '/sys/login',
    method: 'post',
    data
  })
}

// 2.获取用户信息
export const getUserInfo = () => {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}
// 3.获取用户头像
export const getUserDatilById = (id) => {
  return request({
    url: `/sys/user/${id}`,
    method: 'get'
  })
}
